package cn.com.blueInfo.HaiYuan.business.purchase.mapper;

import cn.com.blueInfo.HaiYuan.business.purchase.entity.PurchaseVoucher;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 采购单据表
 * @ClassName: PurchaseVoucherMapper
 * @tableName: tj_hai_purchase_voucher
 * @author suxch
 * @date 2019年4月23日  下午4:10:04
 */
@Mapper
public interface PurchaseVoucherMapper extends BaseMapper<PurchaseVoucher> {

    /**
     * 批量新增采购单据信息
     * @Title: batchAddPurchaseVoucherInfo
     * @param purchaseVoucherList
     * @return int
     * @throws
     */
    int batchAddPurchaseVoucherInfo(List<PurchaseVoucher> purchaseVoucherList);

    /**
     * 新增采购单据信息
     * @Title: addPurchaseVoucherInfo
     * @param purchaseVoucher
     * @return int
     * @throws
     */
    int addPurchaseVoucherInfo(PurchaseVoucher purchaseVoucher);

    /**
     * 批量删除采购单据信息
     * @Title: batchDelPurchaseVoucherInfoByUnids
     * @param purchaseVoucherUnids
     * @return int
     * @throws
     */
    int batchDelPurchaseVoucherInfoByUnids(ArrayList<String> purchaseVoucherUnids);

    /**
     * 删除采购单据信息
     * @Title: delPurchaseVoucherInfoByUnid
     * @param unid
     * @return int
     * @throws
     */
    int delPurchaseVoucherInfoByUnid(String unid);

    /**
     * 批量更新采购单据信息
     * @Title: batchUpdatePurchaseVoucherInfoByUnid
     * @param purchaseVoucherList
     * @return int
     * @throws
     */
    int batchUpdatePurchaseVoucherInfoByUnid(List<PurchaseVoucher> purchaseVoucherList);

    /**
     * 更新采购单据信息
     * @Title: updatePurchaseVoucherInfoByUnid
     * @param purchaseVoucher
     * @return int
     * @throws
     */
    int updatePurchaseVoucherInfoByUnid(PurchaseVoucher purchaseVoucher);

    /**
     * 分页查询采购单据信息
     * @Title: queryPurchaseVoucherInfo
     * @param paramMap
     * @return List<PurchaseVoucher>
     * @throws
     */
    List<PurchaseVoucher> queryPurchaseVoucherInfo(Map<String, Object> paramMap);

    /**
     * 查询采购单据信息
     * @Title: queryPurchaseVoucherInfo
     * @return List<PurchaseVoucher>
     * @throws
     */
    List<PurchaseVoucher> queryPurchaseVoucherInfo();

    /**
     * 条件查询采购单据信息数量
     * @Title: queryPurchaseVoucherInfoCount
     * @param paramMap
     * @return Integer
     * @throws
     */
    Integer queryPurchaseVoucherInfoCount(Map<String, Object> paramMap);

    /**
     * 查询采购单据信息数量
     * @Title: queryPurchaseVoucherInfoCount
     * @return Integer
     * @throws
     */
    Integer queryPurchaseVoucherInfoCount();

    /**
     * 查询采购单据最大排序编号
     * @Title: queryMaxOrderNumber
     * @return Integer
     * @throws
     */
    Integer queryMaxOrderNumber();

}
